1. Technology Field
The present invention relates to a data writing method for a flash memory and particularly to a data writing method capable of dispersedly writing data into a flash memory, and a flash memory controller and a flash memory storage apparatus using the method.
2. Description of Related Art
The growth of digital cameras, mobile phones, and MP3 players has been rapid in recent years. Consequently, demands of consumers for storage media of digital contents have increased tremendously. Since a flash memory has characteristics of non-volatile data, energy saving, compact size, and without mechanical construction, the flash memory is suitable for users to carry on bodies as the storage media for transferring and exchanging the digital contents. Solid State Drive (SSD) is an example of utilizing the flash memory as the storage media, and has been widely applied in the computer host as a main hard disk.
The flash memory has a plurality of physical blocks, each of the physical blocks has a plurality of pages, and each page is the minimum unit for being written data in or being read data from. Each of the pages usually includes a user data area and a redundancy area. The user data area is for storing the data of a user, and the redundancy area is for storing system data (e.g. an error checking and a correcting code (ECC code)).
In particular, different zones in a high-density flash memory have different reliability due to its non-uniform manufacturing process. Along with the increase of the usage time and the number of writing/reading times of the high-density flash memory, error bits occurring on data stored in the flash memory have become more. When one ECC code is stored in a lower reliability zone of the high-density flash memory, the situation where data having error bits can not be corrected may occur early, such that a minimum management unit of the flash memory containing the zone can not be used any more. Along with the increase of the capacity of a flash memory, the capacity of the minimum management unit for the flash memory has become more. However, the space for storing one ECC code may occupy 0.1 percentage of the capacity of the minimum management unit. When one of ECC codes can not be used for correcting data, the minimum management unit storing the ECC code would not be used again, and therefore 99.9 percentage of the capacity of the minimum management unit will be wasted.
Nothing herein should be construed as an admission of knowledge in the prior art of any portion of the present invention. Furthermore, citation or identification of any document in this application is not an admission that such document is available as prior art to the present invention, or that any reference forms a part of the common general knowledge in the art.